

package uaem.tituaem.operacionesFicheros;

import java.io.File;
import java.io.FileNotFoundException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import uaem.tituaem.operacionesABCC.Consultas;
import uaem.tituaem.clasesObjeto.Presentacion;
import uaem.tituaem.clasesObjeto.TipoOS;


public class Lectura {
    
    private String fich_pre_todas="src/todasSP_pre.txt"; 
    private String fich_pre_mes="src/mes_pre.txt";
    private String fich_pre_fut="src/futurasSP_pre.txt";
    private String fichLocal_pre_mes=TipoOS.getRutaArchivoPresentacionesMes();
    private String fichLocal_pre_fut=TipoOS.getRutaArchivoPresentacionesFuturas();
    private String cronFile=TipoOS.getRutaArchivoCron();
    
    //metodos
    public ArrayList<Presentacion> leerTodasPresentacionesSP() throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(fich_pre_todas);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesSPDe(String ruta) throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(ruta);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerTodasPresentaciones() throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(fich_pre_todas);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = c.obtenerNombreModalidad(sl.next());
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = c.obtenerNombreLicenciatura(sl.next());
                String fec = sl.next();
                String hr = sl.next();
                String lu = c.obtenerNombreLugar(sl.next());
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesDe(String ruta) throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(ruta);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = c.obtenerNombreModalidad(sl.next());
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = c.obtenerNombreLicenciatura(sl.next());
                String fec = sl.next();
                String hr = sl.next();
                String lu = c.obtenerNombreLugar(sl.next());
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesMes() throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(fich_pre_mes);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesMesCarpetaLocal() throws FileNotFoundException, ClassNotFoundException, SQLException 
    {

        File f = new File(fichLocal_pre_mes);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesFuturasCarpetaLocal() throws FileNotFoundException, ClassNotFoundException, SQLException 
    {

        File f = new File(fichLocal_pre_fut);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public ArrayList<Presentacion> leerPresentacionesFuturasSP() throws FileNotFoundException, ClassNotFoundException, SQLException {

        File f = new File(fich_pre_fut);
        Scanner s = new Scanner(f);
        ArrayList<Presentacion> elementos = new ArrayList<Presentacion>();
        Consultas c = new Consultas();

        if (s.hasNext()) {
            while (s.hasNextLine()) {
                String linea = s.nextLine();
                Scanner sl = new Scanner(linea);
                sl.useDelimiter(";");

                String tit = sl.next();
                String mod = sl.next();
                String nom = sl.next();
                String apP = sl.next();
                String apM = sl.next();
                String lic = sl.next();
                String fec = sl.next();
                String hr = sl.next();
                String lu = sl.next();
                                        //System.out.println(tit+";"+mod+";"+nom+";"+apP+";"+apM+";"+lic+";"+fec+";"+hr+";"+lu);

                Presentacion p = new Presentacion(tit, mod, nom, apP, apM, lic, fec, hr, lu);
                elementos.add(p);
                //System.out.println(elementos);

            }
        } else {
            //si no hay nada en el archivo
            JOptionPane.showMessageDialog(null, "No hay ningun elemento en el archivo");
        }

        s.close();
        return elementos;

    }
    
    public boolean leerArchivoCron(String titulo) throws FileNotFoundException {
        File f = new File(cronFile);
        Scanner s = new Scanner(f);
        boolean exis=false;
            if (s.hasNext()) {
                while (s.hasNextLine()) {
                    String linea = s.nextLine();
                    Scanner sl = new Scanner(linea);
                    sl.useDelimiter(";");
                    int min=Integer.parseInt(sl.next());
                    int hora=Integer.parseInt(sl.next());
                    int dia=Integer.parseInt(sl.next());
                    int mes=Integer.parseInt(sl.next());
                    String tit=sl.next();
                    String pre=sl.next();
                    if(tit.equals(titulo)){
                        exis=true;
                        break;
                    }
                    else{
                        exis=false;
                        continue;
                    }
                }
            }
        return exis;
    }
    
    
    
    
    
    //main
    
//    public static void main(String[] args) {
//        try {
//            Lectura l=new Lectura();
//            
//            System.out.println(l.leerPresentacionesFuturasCarpetaLocal());    
//            
//            
//        } catch (FileNotFoundException ex) {
//            Logger.getLogger(Lectura.class.getName()).log(Level.SEVERE, null, ex);
//        } catch (ClassNotFoundException ex) {
//            Logger.getLogger(Lectura.class.getName()).log(Level.SEVERE, null, ex);
//        } catch (SQLException ex) {
//            Logger.getLogger(Lectura.class.getName()).log(Level.SEVERE, null, ex);
//        }
//    }
    
}
